pandas将excel中多行多列单元格含有多个值拆分为一对一单行显示的方法(explode函数) |
您所在的位置:网站首页 › pandas 一行拆分多行 › pandas将excel中多行多列单元格含有多个值拆分为一对一单行显示的方法(explode函数) |
最近接了一个私人项目,今天在处理项目中数据的时候遇到这样的一组数据(数据已经处理过,只为示例): 看掌柜用红色框住的两处,可以发现该多行单元格里不止一个值在里面,而且该数据集不止一列是这样的情况。。。如果你熟悉pandas的用法,肯定会第一时间说👉 “用explode方法”。 没错,确实可以用该方法处理单元格里面含有多个值的情况;但是官方只给出了处理单列的示例!!!(我们可以回顾一下pandas的官方exploded的用法和相关示例操作👇) 那么该怎么处理呢??? 掌柜搜了一下StackOverflow后发现有同样疑问的朋友,他给出的方法就是👉使用apply函数给指定字段进行字符串切割变化后再用explode变换,最后用pd.concat()方法对多列进行合并。 于是掌柜实践了一下,还真是搞定了: exploded = df[['客户', '型号']].apply(lambda x: [y.split(',') for y in x]).apply(pd.Series.explode) df1 = pd.concat([df['日期'], exploded], axis=1) df1最后生成的新数据集如下: 参考资料: Python pandas: explode multiple rows Pandas官方文档 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |